IBIS Macromodel Task Group Meeting date: 26 Jul 2011 Members (asterisk for those attending): Agilent: * Fangyi Rao * Radek Biernacki Altera: * David Banas Ansys: Samuel Mertens * Dan Dvorscak * Curtis Clark Arrow Electronics: Ian Dodd Cadence Design Systems: Terry Jernberg * Ambrish Varma Celsionix: Kellee Crisafulli Cisco Systems: * Mike LaBonte Ashwin Vasudevan Syed Huq Ericsson: Anders Ekholm IBM: Greg Edlund Intel: Michael Mirmak LSI Logic: Wenyi Jin Mentor Graphics: * John Angulo Zhen Mu * Arpad Muranyi Micron Technology: Randy Wolff NetLogic Microsystems: Ryan Couts Nokia-Siemens Networks: * Eckhard Lenski Sigrity: Brad Brim Kumar Keshavan * Ken Willis SiSoft: * Walter Katz Todd Westerhoff Doug Burns Snowbush IP: Marcus Van Ierssel ST Micro: Syed Sadeghi Teraspeed Consulting Group: Scott McMorrow * Bob Ross TI: Casey Morrison Alfred Chong Vitesse Semiconductor: Eric Sweetman Xilinx: Mustansir Fanaswalla The meeting was lead by Arpad Muranyi ------------------------------------------------------------------------ Opens: - None -------------------------- Call for patent disclosure: - None ------------- Review of ARs: - Arpad email MM to reschedule BIRD - Done - Ken send Backchannel slides for posting - Done ------------- New Discussion: BIRD 127 empty string discussion: - Arpad: Would like to discuss Radek's suggestion - NULL pointer instead of empty strings - Radek: Items 5 & 6 are different - 5 is between executables - 6 is about the string in or out - It would be better not to have multiple solutions - Arpad: We should decide on the rules for AMI_parameters_in/out - Fangyi: Using empty strings doesn't make much difference - We could not allow it - Arpad: To clarify, a parameter is just part of the whole string passed - It has a pair of double quotes if empty - The confusion is about the whole tree string - We can't define empty string as double quotes for that - Fangyi: The tree string should have double quotes - Radek: It should not - Walter: It has quotes in C code but not in memory - John: The AMI file does not need quotes around the whole tree either - Radek: We should say that it is not necessary - Ambrish: So an empty string is a pointer to a null character - Walter: There are Strings, which are parameter values in AMI - Then there are C strings which reside in memory - We could call those the DLL argument string - Arpad: We can agree the DLL arg string is not surrounded by quotes - What is the definition of empty DLL argument string - Radek: That is in the context of the DLL to EXE arg passing - It should be a NULL byte - Curtis: The 5.0 spec did not define this - DLLs might think they have to return something - The EDA tool should be more careful so models can be "dumb" - The spec should be tightened up - Arpad: We need to distinguish between NULL pointers and empty strings - An empty string is a valid pointer to a NULL byte - Empty strings are allowed in Init and GetWave - Ambrish: The EDA tool should return a parameter tree with the root name - Arpad: We did not want to require the root to match the file name - Arpad: How will the DLL know what to put in the root name? - Ambrish: It can take it from the AMI file - Arpad: This will require version control - The rules would be new - Curtis: Bob has said the rules only grow - We should be able to deprecate - Arpad: It takes time to remove features through deprecation - Using versions doesn't imply deprecation or removal either - Walter: Versions should be used sparingly - Mike: Can we have only the EDA tools change? - They should be able to compensate so models don't have to change - Walter: We can tighten up how EDA calls DLL - The return can be more flexible - Curtis: Existing models that expect a non-Null pointer may have problems - Fangyi: - Arpad: It is always required in the current spec - Radek; We have poor descriptions of what is and is not required - Walter: In 5.1 we can guarantee non-NULL pointers with root names - No model will reject that - Ambrish: That would be a clear definition - Arpad: We should require the same from the model - Fangyi: Model developers may not be disciplined - Walter: NULL pointer or NULL string or empty tree - Arpad: It should be (root) ? - Ambrish: Yes - Fangyi: Any non-empty return from the model must have a root name - Walter: There may be 2 trees, the 2nd for a backchannel - Curtis: The current spec doesn't require this - Some models may not return root names - Arpad: We can discuss by email - Radek: Is it clear how this affects Reserved parameters? - Arpad: A BIRD explains that Item 7 BIRD 127.1 - Arpad: The previous discussion affects this - I will have to reword this - Ambrish: BIRD 137 may make this a non-issue - Arpad: Only for part of BIRD 127 AR: Arpad rework BIRD 127 to accommodate NULL pointer conventions Updates Backchannel BIRD - Ken: I made updates and sent to other authors - Sent to Mike for posting - Changed Model_Specific to Protocol_Specific - Arpad: Any change since last week? - Ken: No - Walter: We need a mechanism for EDA tool or RX to terminate training - Bit pattern formats need work - This is not a 802.3kr spec - It is a Snowbush interpretation - We should call it 802.3kr_1 - Fangyi: Also add crosstalk and statistical - Walter: Nothing prohibits crosstalk - Fangyi: There must be a control to not receive crosstalk - What will happen when one is in training mode and the other isn't? - Walter: Data will appear on crosstalk channels - It is compatible with statistical analysis - Fangyi: How does RX pass tap coefficients back to TX - Walter: There will be a backchannel tree after the 1st tree - TX_Init goes to RX_Init - RX_Init goes to TX_GetWave - Fangyi: So TX_Init is called multiple times - Walter: Snowbush did not implement it - It could be added to the BIRD - Fangyi: The BIRD could describe how to do statistical - Ken: Once training is done tap coefficients are set - That could be in time or statistical domain - Fangyi: Need to pass modified impulse response in 2nd Init call after training - Walter: GetWave can record the new coefficients - It knows what the original coefficients and response were - An alternative is open a 2nd TX with new Init call - Fangyi: Training info may be lost when Close is called - Walter: The current proposal does not support statistical training by design. - If anyone wants statistical to support simultaneous optimization of Tx and Rx they should submit a separate new BIRD. AR: Ken update backchannel slides and send to Mike for posting Meeting ended. ------------- Next meeting: 26 July 2011 12:00pm PT Next agenda: 1) Task list item discussions ------------- IBIS Interconnect SPICE Wish List: 1) Simulator directives